gtk4.git
5 years agodocs: Ignore gtkpasswordentryprivate.h
Emmanuele Bassi [Wed, 16 Dec 2020 15:17:13 +0000 (15:17 +0000)]
docs: Ignore gtkpasswordentryprivate.h

5 years agodocs: Add missing documentation for GtkTextCharPredicate
Emmanuele Bassi [Wed, 16 Dec 2020 15:16:51 +0000 (15:16 +0000)]
docs: Add missing documentation for GtkTextCharPredicate

5 years agodocs: Add missing documentation GtkNative
Emmanuele Bassi [Wed, 16 Dec 2020 15:16:20 +0000 (15:16 +0000)]
docs: Add missing documentation GtkNative

5 years agodocs: Add missing documentation for GtkCellRenderer
Emmanuele Bassi [Wed, 16 Dec 2020 15:15:58 +0000 (15:15 +0000)]
docs: Add missing documentation for GtkCellRenderer

5 years agodocs: Complete symbol coverage for GSK
Emmanuele Bassi [Wed, 16 Dec 2020 14:54:51 +0000 (14:54 +0000)]
docs: Complete symbol coverage for GSK

100% symbol docs coverage.
241 symbols documented.
0 symbols incomplete.
0 not documented.

5 years agodocs: Complete symbol coverage for GDK
Emmanuele Bassi [Wed, 16 Dec 2020 14:40:12 +0000 (14:40 +0000)]
docs: Complete symbol coverage for GDK

100% symbol docs coverage.
833 symbols documented.
0 symbols incomplete.
0 not documented.

What's left are just type system macros and windowing system opaque
structures.

5 years agoMerge branch 'wip/toplevel-layout-intent' into 'master'
Matthias Clasen [Wed, 16 Dec 2020 16:02:00 +0000 (16:02 +0000)]
Merge branch 'wip/toplevel-layout-intent' into 'master'

Fix toplevel layout state communication

Closes #3466

See merge request GNOME/gtk!2958

5 years agogdk/toplevellayout: Change API to be about intent, not full state
Jonas Ådahl [Wed, 16 Dec 2020 10:53:19 +0000 (11:53 +0100)]
gdk/toplevellayout: Change API to be about intent, not full state

When being fullscreen, and wanting to unfullscreen but not caring about
whether to go unmaximized or maximized (as this information is lost), if
the GdkToplevelLayout represents the full intended state, we won't be
able to do the right thing.

To avoid this issue, make the GdkToplevelLayout API intend based, where
if one e.g. doesn't call gdk_toplevel_set_maximized() with anything, the
backend will not attempt to change the maximized state.

This means we can also remove the old 'initially_maximized' and
'initially_fullscreen' fields from the private GtkWindow struct, as we
only deal with intents now.

5 years agogtk/window: Check widget mappdness and not surface mappedness
Jonas Ådahl [Wed, 16 Dec 2020 09:10:00 +0000 (10:10 +0100)]
gtk/window: Check widget mappdness and not surface mappedness

When deciding whether to call gdk_toplevel_present(), check the
mappedness of GtkWidget instead of the mapped-ness of GdkSurface, as the
latter is mapped asynchronously, while the former is direct state of the
GtkWindow itself.

This fixes an issue where calling e.g. gtk_window_maximize() shortly
after showing it didn't take effect, as hadn't been mapped yet. While
maximizing after showing is racy, and will likely glitch from time to
time, the correct thing to do is still to maximize and handle whatever
state the compositor configured the window to be in.

Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3466
5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Tue, 15 Dec 2020 20:33:01 +0000 (20:33 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Matthiasc/for master

See merge request GNOME/gtk!2957

5 years agoAdd a doc comment for GskConicGradientNode
Matthias Clasen [Tue, 15 Dec 2020 19:18:26 +0000 (14:18 -0500)]
Add a doc comment for GskConicGradientNode

5 years agoAdd a doc comment for gdk_surface_request_layout
Matthias Clasen [Tue, 15 Dec 2020 19:14:49 +0000 (14:14 -0500)]
Add a doc comment for gdk_surface_request_layout

5 years agoMerge branch 'ebassi/for-master' into 'master'
Emmanuele Bassi [Tue, 15 Dec 2020 16:54:59 +0000 (16:54 +0000)]
Merge branch 'ebassi/for-master' into 'master'

Clean up the build system

See merge request GNOME/gtk!2955

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Tue, 15 Dec 2020 16:23:15 +0000 (16:23 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Update the node format docs

See merge request GNOME/gtk!2956

5 years agodocs: Add public symbols to the GTK reference
Emmanuele Bassi [Tue, 15 Dec 2020 16:21:20 +0000 (16:21 +0000)]
docs: Add public symbols to the GTK reference

5 years agoHide GtkTextAttributes functions
Emmanuele Bassi [Tue, 15 Dec 2020 16:20:21 +0000 (16:20 +0000)]
Hide GtkTextAttributes functions

The type is private, so making functions operating on it public is
pointless.

5 years agoRemove boxed type for GtkCrossingData
Emmanuele Bassi [Tue, 15 Dec 2020 15:55:15 +0000 (15:55 +0000)]
Remove boxed type for GtkCrossingData

The GtkCrossingData type is completely private, so there's no point in
having a boxed type for it.

5 years agodocs: Add more private headers
Emmanuele Bassi [Tue, 15 Dec 2020 14:07:11 +0000 (14:07 +0000)]
docs: Add more private headers

5 years agoUpdate the node format docs
Matthias Clasen [Tue, 15 Dec 2020 15:30:18 +0000 (10:30 -0500)]
Update the node format docs

Update this document to mention all the render nodes we
have, and the default values for their properties.

5 years agodocs: Add missing symbols to the GTK reference
Emmanuele Bassi [Tue, 15 Dec 2020 14:06:58 +0000 (14:06 +0000)]
docs: Add missing symbols to the GTK reference

5 years agoRemove stray mentions of GdkConfigureEvent
Emmanuele Bassi [Tue, 15 Dec 2020 13:58:52 +0000 (13:58 +0000)]
Remove stray mentions of GdkConfigureEvent

The event was removed, but some traces of it linger.

5 years agodocs: Add missing symbols to the GDK reference
Emmanuele Bassi [Tue, 15 Dec 2020 13:47:40 +0000 (13:47 +0000)]
docs: Add missing symbols to the GDK reference

5 years agoMove private GdkX11 symbols out of a public header
Emmanuele Bassi [Tue, 15 Dec 2020 13:46:50 +0000 (13:46 +0000)]
Move private GdkX11 symbols out of a public header

This avoids private symbols showing up in the introspection data, as
well as in the undocumented symbols list when generating the GDK API
reference.

5 years agodocs: Add missing symbols to the GSK reference
Emmanuele Bassi [Tue, 15 Dec 2020 13:35:19 +0000 (13:35 +0000)]
docs: Add missing symbols to the GSK reference

5 years agodocs: Add more ignored header for GSK
Emmanuele Bassi [Tue, 15 Dec 2020 13:28:27 +0000 (13:28 +0000)]
docs: Add more ignored header for GSK

5 years agobuild: Use Meson support for dylib versions
Emmanuele Bassi [Tue, 15 Dec 2020 12:47:05 +0000 (12:47 +0000)]
build: Use Meson support for dylib versions

Do not hand-code it inside GTK's meson.build.

5 years agobuild: Use a consistent style for Meson files
Emmanuele Bassi [Tue, 15 Dec 2020 12:31:38 +0000 (12:31 +0000)]
build: Use a consistent style for Meson files

5 years agobuild: Remove duplicate definition
Emmanuele Bassi [Tue, 15 Dec 2020 11:47:32 +0000 (11:47 +0000)]
build: Remove duplicate definition

The `GTK_COMPILATION` symbol is defined in gir_args.

5 years agobuild: Remove linker flags from static libraries
Emmanuele Bassi [Tue, 15 Dec 2020 11:36:20 +0000 (11:36 +0000)]
build: Remove linker flags from static libraries

We only need hardening linker flags on the libgtk shared library;
internal static libraries don't really need them.

5 years agobuild: Remove unused variable
Emmanuele Bassi [Tue, 15 Dec 2020 11:35:27 +0000 (11:35 +0000)]
build: Remove unused variable

We don't need a `gsk_source` variable after all.

5 years agobuild: Remove unused backend_immodules variable
Emmanuele Bassi [Tue, 15 Dec 2020 11:20:19 +0000 (11:20 +0000)]
build: Remove unused backend_immodules variable

We don't have input method modules any more.

5 years agobuild: Use get_supported_link_arguments()
Emmanuele Bassi [Tue, 15 Dec 2020 11:19:39 +0000 (11:19 +0000)]
build: Use get_supported_link_arguments()

Instead of hand-coding it ourselves, let Meson deal with linker
arguments discovery.

5 years agoUpdated Spanish translation
Daniel Mustieles [Tue, 15 Dec 2020 09:28:49 +0000 (10:28 +0100)]
Updated Spanish translation

5 years agoMerge branch 'ebassi/for-master' into 'master'
Matthias Clasen [Mon, 14 Dec 2020 20:37:34 +0000 (20:37 +0000)]
Merge branch 'ebassi/for-master' into 'master'

docs: Add note for the removal of GtkFileChooserButton

See merge request GNOME/gtk!2954

5 years agoUpdate Catalan translation
Jordi Mas [Mon, 14 Dec 2020 17:39:00 +0000 (18:39 +0100)]
Update Catalan translation

5 years agodocs: Add note for the removal of GtkFileChooserButton
Emmanuele Bassi [Mon, 14 Dec 2020 16:55:15 +0000 (16:55 +0000)]
docs: Add note for the removal of GtkFileChooserButton

Point developers in the direction of GtkButton and GtkFileChooserNative.

5 years agoMerge branch 'pixbuf-from-surface-leak' into 'master'
Emmanuele Bassi [Mon, 14 Dec 2020 15:12:56 +0000 (15:12 +0000)]
Merge branch 'pixbuf-from-surface-leak' into 'master'

gdkpixbuf-drawable: Free the pixbuf on Cairo error

See merge request GNOME/gtk!2951

5 years agogdkpixbuf-drawable: Free the pixbuf on Cairo error
Adrien Plazas [Mon, 14 Dec 2020 12:39:42 +0000 (13:39 +0100)]
gdkpixbuf-drawable: Free the pixbuf on Cairo error

This avoids leaking the pixbuf.

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Mon, 14 Dec 2020 13:14:32 +0000 (13:14 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Avoid adding // to resource paths

Closes #3469

See merge request GNOME/gtk!2947

5 years agoMerge branch 'dropdown-searchbar' into 'master'
Jakub Steiner [Mon, 14 Dec 2020 09:39:38 +0000 (09:39 +0000)]
Merge branch 'dropdown-searchbar' into 'master'

dropdown: Improve search bar styling

See merge request GNOME/gtk!2948

5 years agoMerge branch 'emoji-searchbar' into 'master'
Jakub Steiner [Mon, 14 Dec 2020 09:38:45 +0000 (09:38 +0000)]
Merge branch 'emoji-searchbar' into 'master'

Adwaita: Improve emoji picker styling

See merge request GNOME/gtk!2949

5 years agoAdwaita: Improve emoji picker styling
nana-4 [Sat, 12 Dec 2020 07:52:49 +0000 (16:52 +0900)]
Adwaita: Improve emoji picker styling

- Add borders around the main scrollable content, like most other
  places.
- Set padding and spacing on .emoji-searchbar and .emoji-toolbar in a
  more proper way.
- Remove unused button.emoji-section label styles.

5 years agoemojichooser: Add .emoji-searchbar style class
nana-4 [Sat, 12 Dec 2020 07:32:27 +0000 (16:32 +0900)]
emojichooser: Add .emoji-searchbar style class

Similar to .emoji-toolbar, it would be nice to have this for styling.

5 years agodropdown: Improve search bar styling
nana-4 [Sat, 12 Dec 2020 06:30:01 +0000 (15:30 +0900)]
dropdown: Improve search bar styling

As per the mockup. See:

https://gitlab.gnome.org/Teams/Design/os-mockups/-/blob/master/dropdown-lists/dropdown-lists.png

5 years agoUpdate Polish translation
Piotr Drąg [Sun, 13 Dec 2020 15:51:51 +0000 (16:51 +0100)]
Update Polish translation

5 years agoUpdate Romanian translation
Florentina Mușat [Sat, 12 Dec 2020 18:49:22 +0000 (18:49 +0000)]
Update Romanian translation

5 years agoMerge branch 'wip/jimmac/button-shed' into 'master'
Matthias Clasen [Sat, 12 Dec 2020 02:51:05 +0000 (02:51 +0000)]
Merge branch 'wip/jimmac/button-shed' into 'master'

headerbar window controls & clean up flat button extend

Closes #3427

See merge request GNOME/gtk!2942

5 years agoAvoid adding // to resource paths
Matthias Clasen [Sat, 12 Dec 2020 02:47:54 +0000 (21:47 -0500)]
Avoid adding // to resource paths

The GResource machinery is not forgiving about this
sort of thing.

Fixes: #3469
5 years agoMerge branch 'wip/carlosg/for-master' into 'master'
Matthias Clasen [Sat, 12 Dec 2020 02:35:01 +0000 (02:35 +0000)]
Merge branch 'wip/carlosg/for-master' into 'master'

Wip/carlosg/for master

Closes #3461, #593, #3083, #3009, #3463, and #3426

See merge request GNOME/gtk!2945

5 years agogdk/surface: Trigger motion check for next frame after thaw
Carlos Garnacho [Sat, 12 Dec 2020 00:36:16 +0000 (01:36 +0100)]
gdk/surface: Trigger motion check for next frame after thaw

This is a more reliable calling point than ::resume-events, and a
good one to schedule things so they happen on a frame clock in no
special phase (Thus still fixing the original issue at 80d4a08e30)

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3461
5 years agogtk/window: Bring back L-shaped resize corners
Carlos Garnacho [Sat, 12 Dec 2020 00:32:16 +0000 (01:32 +0100)]
gtk/window: Bring back L-shaped resize corners

These ended up square in the various refactors. Make them again L-shaped
by extending these along the edge being checked. This means we have to
check for corner positions in all edges, though.

5 years agogtk/scrolledwindow: Handle full scroll sequences only
Carlos Garnacho [Fri, 11 Dec 2020 23:40:12 +0000 (00:40 +0100)]
gtk/scrolledwindow: Handle full scroll sequences only

In order to do this, leverage smooth scroll handling into the capture
phase scroll controller, controlled by ::scroll-begin in the propagation
phase controller.

There's 2 cases here:
- A child widget handles scroll. The scrolled window does not get
  ::scroll-begin, the child widget handles the full scroll sequence.
- No child handles scroll, the scrolled window gets ::scroll-begin,
  and transfers control of scrolling to the capture phase controller.
  As scrolling is performed, the pointer may fall into scrollable children,
  but the scrolled window will be capturing the scroll events, so these
  won't be seen by the child widgets.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/593
5 years agogtk/eventscrollerscroll: Handle smooth events in discrete controllers
Carlos Garnacho [Fri, 11 Dec 2020 23:37:12 +0000 (00:37 +0100)]
gtk/eventscrollerscroll: Handle smooth events in discrete controllers

We let smooth scroll events that don't trigger a ::scroll signal through.
This is unintended, these are handled, even if just accumulated.

This fixes cases like GtkSpinButton inside GtkScrolledWindow, where both
would handle events, until the GtkSpinButton eventually shifts away from
underneath the pointer.

Brought up at https://gitlab.gnome.org/GNOME/gtk/-/issues/593

5 years agogtk/entrycompletion: Ensure to show first row when shown, not allocated
Carlos Garnacho [Fri, 11 Dec 2020 22:13:00 +0000 (23:13 +0100)]
gtk/entrycompletion: Ensure to show first row when shown, not allocated

This code was here in gtk3 to cater for the completion window being
positioned. That was only to meant once as long as the completion window
was shown.

This doesn't work as well for gtk4, ::size-allocate gets propagated from
the toplevel, so happens much more often for the completion window, this
ends up with the completion position being reset to the first row
frequently.

Do this simply once when popping up the completion, instead.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3083
5 years agogtk/treeview: Position editable widgets correctly wrt left border
Carlos Garnacho [Fri, 11 Dec 2020 16:56:14 +0000 (17:56 +0100)]
gtk/treeview: Position editable widgets correctly wrt left border

The coordinates are already widget-local here, not transformed by the
adjustment positions. Using the adjustment value here ends up pushing
the entry far from the left border.

The correct minimum value here is 0, which matches the treeview left
border.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3009
5 years agogtk/modelbutton: Handle unpaired releases
Carlos Garnacho [Fri, 11 Dec 2020 15:59:07 +0000 (16:59 +0100)]
gtk/modelbutton: Handle unpaired releases

Let model buttons handle unpaired releases, these may happen indirectly
e.g. due to other child menus being opened at the time. Clicking would
dismiss the menu, but the menu item beneath the pointer would not get
activated.

We can handle that button release though via ::unpaired-release, so
there's no second click required.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3463
5 years agogtk/range: Move button release handling to GtkGestureDrag
Carlos Garnacho [Fri, 11 Dec 2020 15:22:26 +0000 (16:22 +0100)]
gtk/range: Move button release handling to GtkGestureDrag

Tracking it through the GtkGestureClick becomes a bit cumbersome for
handling of simultaneously pressed buttons. We can track ::stopped,
but that also emits for a number of situations where we want drag to
continue.

However, the GtkGestureDrag is grouped with the click gesture, and
knows better when to finish the drag gesture (not just because of a
button release), so hook drag and zoom mode finalization there.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3426
5 years agoMerge branch 'ebassi/for-master' into 'master'
Emmanuele Bassi [Sat, 12 Dec 2020 00:01:38 +0000 (00:01 +0000)]
Merge branch 'ebassi/for-master' into 'master'

Ebassi/for master

See merge request GNOME/gtk!2944

5 years agoUpdate CODEOWNERS
Emmanuele Bassi [Fri, 11 Dec 2020 23:42:25 +0000 (23:42 +0000)]
Update CODEOWNERS

Add me as the reference for the accessibility bits of the code base.

5 years agodocs: Fix the Widget as Buildable example
Emmanuele Bassi [Fri, 11 Dec 2020 23:41:51 +0000 (23:41 +0000)]
docs: Fix the Widget as Buildable example

The layout properties use an old name.

5 years agoUpdate Norwegian Bokmål translation
Kjartan Maraas [Fri, 11 Dec 2020 11:40:55 +0000 (11:40 +0000)]
Update Norwegian Bokmål translation

5 years agoUpdate Romanian translation
Florentina Mușat [Thu, 10 Dec 2020 15:34:51 +0000 (15:34 +0000)]
Update Romanian translation

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Thu, 10 Dec 2020 14:31:54 +0000 (14:31 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

docs: Update references to GtkWindow:fullscreened

See merge request GNOME/gtk!2943

5 years agodocs: Update references to GtkWindow:fullscreened
Matthias Clasen [Thu, 10 Dec 2020 14:10:21 +0000 (09:10 -0500)]
docs: Update references to GtkWindow:fullscreened

The property got renamed from fullscreen to fullscreened.
Update all references.

5 years agoAdwaita: special case flat headerbar buttons
Jakub Steiner [Thu, 10 Dec 2020 13:24:29 +0000 (14:24 +0100)]
Adwaita: special case flat headerbar buttons

- make sure the hovers and pushed states are legible on a tintend headerbar

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3427

5 years agoAdwaita: flat button :hover and :active
Jakub Steiner [Thu, 10 Dec 2020 13:16:25 +0000 (14:16 +0100)]
Adwaita: flat button :hover and :active

- special case undecorated button hovers

5 years agoAdwaita: headerbar_color > headerbar_bg_color
Jakub Steiner [Thu, 10 Dec 2020 12:58:42 +0000 (13:58 +0100)]
Adwaita: headerbar_color > headerbar_bg_color

- semantic correction

5 years agoAdwaita: duplicate selector
Jakub Steiner [Thu, 10 Dec 2020 12:51:10 +0000 (13:51 +0100)]
Adwaita: duplicate selector

- awkward duplicate selector that should have no effect
  (resulting in the same css)

5 years agoUpdate Swedish translation
Luna Jernberg [Wed, 9 Dec 2020 21:05:25 +0000 (21:05 +0000)]
Update Swedish translation

5 years agoMerge branch 'ebassi/popcount' into 'master'
Matthias Clasen [Wed, 9 Dec 2020 16:32:09 +0000 (16:32 +0000)]
Merge branch 'ebassi/popcount' into 'master'

Share the popcount() fallback for MSVC

See merge request GNOME/gtk!2940

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Wed, 9 Dec 2020 16:10:04 +0000 (16:10 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Remove NoDisplay from demo desktop files

Closes #2932

See merge request GNOME/gtk!2939

5 years agoShare the popcount() fallback for MSVC
Emmanuele Bassi [Wed, 9 Dec 2020 15:48:09 +0000 (15:48 +0000)]
Share the popcount() fallback for MSVC

We use __builtin_popcount() in a couple of places, so it makes sense to
have it in one header.

5 years agowidget-factory: Autoplay the video
Matthias Clasen [Wed, 9 Dec 2020 15:52:55 +0000 (10:52 -0500)]
widget-factory: Autoplay the video

The empty video on the frontpage is a bit of a letdown, since
the big arrow can't be clicked.

5 years agoRemove NoDisplay from demo desktop files
Matthias Clasen [Wed, 9 Dec 2020 15:05:54 +0000 (10:05 -0500)]
Remove NoDisplay from demo desktop files

When these are installed (in particular, as flatpaks),
we should not hide them.

Fixes: #2932
5 years agoMerge branch 'wip/carlosg/for-master' into 'master'
Matthias Clasen [Wed, 9 Dec 2020 15:04:01 +0000 (15:04 +0000)]
Merge branch 'wip/carlosg/for-master' into 'master'

Wip/carlosg/for master

Closes #3426 and #3264

See merge request GNOME/gtk!2933

5 years agoMerge branch 'wip/jimmac/row-transitions-and-spacing' into 'master'
Matthias Clasen [Wed, 9 Dec 2020 13:35:54 +0000 (13:35 +0000)]
Merge branch 'wip/jimmac/row-transitions-and-spacing' into 'master'

Adwaita: row transitions and spacing

Closes #3434

See merge request GNOME/gtk!2937

5 years agoMerge branch 'wip/baedert/for-master' into 'master'
Matthias Clasen [Wed, 9 Dec 2020 13:34:21 +0000 (13:34 +0000)]
Merge branch 'wip/baedert/for-master' into 'master'

Wip/baedert/for master

Closes #3431

See merge request GNOME/gtk!2938

5 years agoMerge branch 'ebassi/4-0-abi-bump' into 'master'
Matthias Clasen [Wed, 9 Dec 2020 13:20:20 +0000 (13:20 +0000)]
Merge branch 'ebassi/4-0-abi-bump' into 'master'

Ebassi/4 0 abi bump

Closes #3392

See merge request GNOME/gtk!2883

5 years agobuild: Bump up the SONAME for GTK4
Emmanuele Bassi [Mon, 23 Nov 2020 18:02:12 +0000 (18:02 +0000)]
build: Bump up the SONAME for GTK4

We released all the 3.9x development snapshots using:

  libgtk-4.0.so.0.xxxx.y

which means that the 4.0.0 release of GTK will have a lower SONAME than
the snapshots. To avoid that, bump the SONAME to 1.xxxx.y.

Fixes: #3392
5 years agobuild: Tie interface age to the development cycle
Emmanuele Bassi [Mon, 23 Nov 2020 17:58:43 +0000 (17:58 +0000)]
build: Tie interface age to the development cycle

We don't want to increase the interface age manually, because we're
going to end up forgetting about it.

Instead, we should tie it to the rest of the version:

 - in stable (even minor) cycles, we don't add new API; the interface
   age is the same as the micro version
 - in unstable (odd minor) cycles, every new release might have new API,
   or updates to newly added API; keep the interface age to 0

This removes one more manual thing to change during release, and keeps
us honest with our promise not to add symbols during stable cycles.

5 years agoPrepare version macros for 4.0
Emmanuele Bassi [Tue, 8 Dec 2020 17:37:46 +0000 (17:37 +0000)]
Prepare version macros for 4.0

Remove the 3.9x version macros, and ensure that we handle 4.0 as the
backstop for the minimum required version.

5 years agoAdwaita: row transitions and spacing
Jakub Steiner [Wed, 9 Dec 2020 10:52:49 +0000 (11:52 +0100)]
Adwaita: row transitions and spacing

- no fading out of row hovers. Many feel like it's a slow
  refresh rather than intentional effect.
- give some margin to navigation lists

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3434

5 years agoUpdate Ukrainian translation
Yuri Chornoivan [Wed, 9 Dec 2020 07:08:51 +0000 (07:08 +0000)]
Update Ukrainian translation

5 years agoMerge branch 'ebassi/prop-names' into 'master'
Matthias Clasen [Wed, 9 Dec 2020 05:51:00 +0000 (05:51 +0000)]
Merge branch 'ebassi/prop-names' into 'master'

Ebassi/prop names

See merge request GNOME/gtk!2936

5 years agoMerge branch 'sophie-h-master-patch-62064' into 'master'
Matthias Clasen [Wed, 9 Dec 2020 00:53:10 +0000 (00:53 +0000)]
Merge branch 'sophie-h-master-patch-62064' into 'master'

gtk-demo: Remove potentially ableist metaphor

See merge request GNOME/gtk!2934

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Wed, 9 Dec 2020 00:52:53 +0000 (00:52 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Matthiasc/for master

Closes #3451

See merge request GNOME/gtk!2935

5 years agoRename GtkWindow:fullscreen to :fullscreened
Emmanuele Bassi [Wed, 9 Dec 2020 00:11:49 +0000 (00:11 +0000)]
Rename GtkWindow:fullscreen to :fullscreened

Having a property with the same name of a method makes some languages
which put properties and method names in the same flat namespace not
really happy about our choices. To avoid collisions, let's put the the
"fullscreen" property into the past, alongside the "maximized" property.

5 years agoFix the documentation for GtkWindow state properties
Emmanuele Bassi [Tue, 8 Dec 2020 23:49:45 +0000 (23:49 +0000)]
Fix the documentation for GtkWindow state properties

Drop the "don't write code that crashes" folksy bit; don't start
sentences with conjunctions; remove copy-pasted references to
"iconified" states; point to the corresponding property notification in
a consistent manner.

5 years agoMark flaky tests as flaky
Matthias Clasen [Tue, 8 Dec 2020 22:50:14 +0000 (17:50 -0500)]
Mark flaky tests as flaky

We can't mark these as xfail, since it sometimes succeed.

5 years agogtk-demo: Remove potentially ableist metaphor
Sophie Herold [Tue, 8 Dec 2020 23:02:03 +0000 (23:02 +0000)]
gtk-demo: Remove potentially ableist metaphor

5 years agoAdd bug reporting address to pot files
Matthias Clasen [Sun, 6 Dec 2020 16:00:35 +0000 (11:00 -0500)]
Add bug reporting address to pot files

Fixes: #3451
5 years agogtk/main: Keep implicit grab until all buttons are released
Carlos Garnacho [Tue, 8 Dec 2020 22:13:50 +0000 (23:13 +0100)]
gtk/main: Keep implicit grab until all buttons are released

Currently, the implicit grab is broken on the first button release,
in the case of pressing multiple buttons simultaneously. This means
that we emit crossing events early, and the next button releases
are sent to the pointer focus widget instead.

Consider the implicit grab effective until all buttons are released,
and only unset the pointer implicit grab (and emit crossing events)
after there are no further buttons pressed. We do this by checking
event modifiers, given button release events do contain the modifiers
in effect at the time the event was generated, we have to look for
exactly one active button modifier.

Fixes weird pointer states after pressing multiple buttons on a
widget.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3426
5 years agogdk/surface: Delay gdk_surface_request_motion() requests internally
Carlos Garnacho [Tue, 8 Dec 2020 20:33:06 +0000 (21:33 +0100)]
gdk/surface: Delay gdk_surface_request_motion() requests internally

Those requests are received while dealing with the ::layout frame
clock phase, this has the unintended side effect of making the
frame clock "rewind" to handle ::flush-events again during this
frame, which delays everything and practically halves the frame
rate.

We do intend to make the motion events dispatches on the next frame,
so do this in an idle at a slightly lower priority than layout/draw,
so the ::flush-events phase is actually requested for the next frame.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3264
5 years agogkt/textview: Set an iter position for event-less menu activation
Carlos Garnacho [Tue, 8 Dec 2020 13:45:16 +0000 (14:45 +0100)]
gkt/textview: Set an iter position for event-less menu activation

This went missing. Use the current insertion position as a reference.
Fixes invoking the menu via keyboard.

5 years agoMerge branch 'wip/chergert/gdk-macos-for-master' into 'master'
Matthias Clasen [Tue, 8 Dec 2020 20:32:51 +0000 (20:32 +0000)]
Merge branch 'wip/chergert/gdk-macos-for-master' into 'master'

macos: fix macOS build breakage

See merge request GNOME/gtk!2931

5 years agoUpdate Ukrainian translation
Yuri Chornoivan [Tue, 8 Dec 2020 20:25:26 +0000 (20:25 +0000)]
Update Ukrainian translation

5 years agoUpdate Romanian translation
Florentina Mușat [Tue, 8 Dec 2020 19:52:12 +0000 (19:52 +0000)]
Update Romanian translation

5 years agomacos: fix macOS build breakage
Christian Hergert [Tue, 8 Dec 2020 19:29:31 +0000 (11:29 -0800)]
macos: fix macOS build breakage

Fixes breakages due to recent refactoring around sizing changes.

5 years agoMark the window-show-contents-on-map.ui reftest as xfail
Matthias Clasen [Tue, 8 Dec 2020 17:04:47 +0000 (12:04 -0500)]
Mark the window-show-contents-on-map.ui reftest as xfail

We know now what the test is trying to test, just lack
the right plumbing to do it properly. So, keep the test
around, marked as expected fail.

5 years agoRevert "reftests: Remove window-show-contents-on-map.ui test"
Matthias Clasen [Tue, 8 Dec 2020 16:45:52 +0000 (11:45 -0500)]
Revert "reftests: Remove window-show-contents-on-map.ui test"

This reverts commit 074b933ae4e866d092edd734fd43524e39033b5e.